{-# LANGUAGE TemplateHaskell #-}
module PT where

import PolicyT

import Language.Haskell.TH
import Data.List
import Control.Monad

cp0 0 = $(buildCP 'SimpleM 3 0)
--cp0 1 = $(buildCP 'SimpleM 3 1)
--cp0 2 = $(buildCP 'SimpleM 3 2)


data PNum 
    = PCapitalRat Int Int |
      PLiqRat |
      PRate |
      PDefault |  
      PPrincipal |
      PMaturity | 
      PBankCash |
      PCashRate 


data PDirection = PLT | PGT

data BSSide = Asset | Liability

{-
data PNode 
     = PNP Policy 
     | PNN PNum
     | PND PDirection
     | PNS BSSide
    deriving Show
-}

$(deriveRandTree [''PDirection,''PNum,''BSSide]) 
